package cn.edu.gzhu.workOrderManagement.util;

import java.lang.reflect.Field;

public class MyBeanUtil {
    public static void setEmptyStringsToNull(Object obj) {
        if (obj == null) return;

        Class<?> clazz = obj.getClass();

        // 遍历所有声明的字段（包括私有字段）
        for (Field field : clazz.getDeclaredFields()) {
            try {
                // 跳过非String类型的字段
                if (!field.getType().equals(String.class)) continue;

                // 设置可访问以操作私有字段
                field.setAccessible(true);

                // 获取当前值
                String value = (String) field.get(obj);

                // 如果是空字符串则设置为null
                if ("".equals(value)) {
                    field.set(obj, null);
                }
            } catch (IllegalAccessException e) {
                System.err.println("Error accessing field: " + field.getName());
                e.printStackTrace();
            }
        }
    }

}
